﻿using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using STT.Business;
using STT.Entities;
using System.Data.OleDb;
using System.Data.SqlClient;

namespace STT.Admin.UserControls
{
    public partial class ucHocVienNgoaiNgu : System.Web.UI.UserControl
    {
        public bool chonSuaClick;
        protected void Page_Load(object sender, EventArgs e)
        {
            LoandHocVienNgoaiNgu();
            Loanddl();
            btSua.Visible = false;
            btThemMoi.Visible = true;


        }

        void LoandHocVienNgoaiNgu()
        {
            gvHocVienNgoaiNgu.AutoGenerateColumns = false;
            gvHocVienNgoaiNgu.DataSource = BTbHocVien_NgoaiNgu.SelectAll();
            gvHocVienNgoaiNgu.DataBind();
        }
        void Loanddl()
        {
            ddHocVien.DataSource = BTbHocVien.SelectAll();
            ddNgoaiNgu.DataSource = BTbNgoaiNgu.SelectAll();


            ddHocVien.DataTextField = "TenHV";
            ddNgoaiNgu.DataTextField = "TenNgoaiNgu";


            ddHocVien.DataValueField = "MaHV";
            ddNgoaiNgu.DataValueField = "MaNgoaiNgu";

            ddHocVien.DataBind();
            ddNgoaiNgu.DataBind();
           
        }
        bool KiemTraDuLieu()
        {
            return BTbHocVien_NgoaiNgu.KiemTraDuLieu(new ETbHocVien_NgoaiNgu
            {
              MaHV=ddHocVien.SelectedValue,
              MaNgoaiNgu= int.Parse(ddNgoaiNgu.SelectedValue)
              
            });
        }
        void ThongBao(string Loi)
        {
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "Thông báo!", "<script>alert('" + Loi + "')</script>", false);
        }
        protected void gvHocVienNgoaiNgu_RowEditing(object sender, GridViewEditEventArgs e)
        {
            gvHocVienNgoaiNgu.EditIndex = e.NewEditIndex;
            gvHocVienNgoaiNgu.DataBind();
        }

        protected void gvHocVienNgoaiNgu_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            try
            {
                int index = Convert.ToInt32(e.RowIndex);
                int MaNgoaiNgu = int.Parse(gvHocVienNgoaiNgu.DataKeys[index].Values[1].ToString());
                String MaHV = gvHocVienNgoaiNgu.DataKeys[index].Values[0].ToString();

                BTbHocVien_NgoaiNgu.Delete(MaHV,MaNgoaiNgu);
                LoandHocVienNgoaiNgu();
            }
            catch
            {
                ThongBao("Dữ liệu liên quan đến Khóa học này vẫn tồn tại, vui lòng kiểm tra lại dữ liệu!");
            }
        }

        protected void gvHocVienNgoaiNgu_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            gvHocVienNgoaiNgu.EditIndex = -1;
            gvHocVienNgoaiNgu.DataBind();
        }

        protected void btThemMoi_Click(object sender, EventArgs e)
        {
            if (!KiemTraDuLieu())
            {
                BTbHocVien_NgoaiNgu.Insert(new ETbHocVien_NgoaiNgu
                {
                    MaHV=ddHocVien.Text,
                    MaNgoaiNgu=Int32.Parse(ddNgoaiNgu.Text),
                    NgayCap=DateTime.Parse(txtNgayCap.Text),
                    NoiCap=txtNoiCap.Text
                });

                LoandHocVienNgoaiNgu();
            }
            else
            {
                ThongBao("Khóa học này đã tồn tại!");

            }
        }

        protected void lbXuatDuLieu_Click(object sender, EventArgs e)
        {

        }

        protected void lbXoaTat_Click(object sender, EventArgs e)
        {
            try
            {
                for (int i = 0; i < gvHocVienNgoaiNgu.Rows.Count; i++)
                {
                    CheckBox cbChon = (CheckBox)gvHocVienNgoaiNgu.Rows[i].Cells[0].FindControl("cbChon");
                    if (cbChon != null && cbChon.Checked)
                    {
                        BTbMonHoc.Delete(int.Parse(gvHocVienNgoaiNgu.DataKeys[i].Value.ToString()));
                    }
                }

                LoandHocVienNgoaiNgu();
            }
            catch
            {
                ThongBao("Dữ liệu liên quan đến Khóa học này vẫn tồn tại, vui lòng kiểm tra lại dữ liệu!");
            }
        }

        // Phân trang
        protected void gvHocVienNgoaiNgu_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvHocVienNgoaiNgu.PageIndex = e.NewPageIndex;
            gvHocVienNgoaiNgu.DataBind();
        }


        private static string maHV, maNN;
        protected void gvHocVienNgoaiNgu_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "ChonSua")
            {
                int index = Convert.ToInt32(e.CommandArgument);

                maNN = gvHocVienNgoaiNgu.DataKeys[index].Values[1].ToString();
                maHV = gvHocVienNgoaiNgu.DataKeys[index].Values[0].ToString();
                // Thay đổi tiêu đề
                txtTieuDe.InnerText = "Sửa khóa học";
                ddHocVien.SelectedItem.Text = gvHocVienNgoaiNgu.Rows[index].Cells[2].Text;
                ddNgoaiNgu.SelectedItem.Text = gvHocVienNgoaiNgu.Rows[index].Cells[3].Text;
                txtNoiCap.Text = gvHocVienNgoaiNgu.Rows[index].Cells[5].Text;
                txtNgayCap.Text = gvHocVienNgoaiNgu.Rows[index].Cells[4].Text;

                btSua.Visible = true;
                btThemMoi.Visible = false;
                chonSuaClick = true;
            }
        }

        protected void btSua_Click(object sender, EventArgs e)
        {
            BTbHocVien_NgoaiNgu.Update(new ETbHocVien_NgoaiNgu
            {
                MaHV = maHV,
                MaNgoaiNgu = Int32.Parse(maNN),
                NgayCap = DateTime.Parse(txtNgayCap.Text),
                NoiCap = txtNoiCap.Text
            });
            LoandHocVienNgoaiNgu();
        }

        protected void btSearch_Click(object sender, ImageClickEventArgs e)
        {
            BTbHocVien_NgoaiNgu.SearchHocVienNN(new ETbHocVien_NgoaiNgu
            {
                MaHV = txtTimKiem.Text
            });
            LoandHocVienNgoaiNgu();
        }

        protected void btImport_Click(object sender, EventArgs e)
        {

        }

       
    }
}